package com.gopay.common.domain.cps.transfer;

import com.gopay.common.constants.approval.DecisionValue;
import com.gopay.common.constants.trans.DepositFundSettleOpType;
import com.gopay.common.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 存管资金结算数据对象
 * Created by Light on 2017/1/14.
 */
public class Tran02200VO extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 最大金额
     */
    public static BigDecimal LIMIT_MONEY = new BigDecimal("9999999999.99");

    /**
     * 处理人用户Id
     */
    private String userId;
    /**
     * 付款方账号
     */
    private String acctId;
    
    /**
     * 付款金额
     */
    private BigDecimal txnAmt;
    
    /**
     * 国付宝订单号（申请为空）
     */
    private String gopayOrderId;
    /**
     * 操作类型：申请、审核、确认  FundDepositSettleOpType
     */
    private DepositFundSettleOpType opType;
    /**
     * 备注信息
     */
    private String remark;
    /**
     * 审批结果 DecisionValue
     * 申请确认、财务人员审核、国付宝审核
     */
    private DecisionValue decision;
    /**
     * 审批描述
     */
    private String decisionMsg;
    /**
     * 发起人客户ID
     */
    private String payCustId;

    private String clientIp;
    private String sessionId;
    
    private int resultCode;
    private String resultMsg;

    /**
     * 是否线下支付
     */
    private boolean isOffPay;

    /**
     * 线下付款银行代码
     */
    private String offLineBankCode;

    /**
     * 线下付款银行订单号
     */
    private String offLineBankOrderNum;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getAcctId() {
        return acctId;
    }

    public void setAcctId(String acctId) {
        this.acctId = acctId;
    }

    public BigDecimal getTxnAmt() {
        return txnAmt;
    }

    public void setTxnAmt(BigDecimal txnAmt) {
        this.txnAmt = txnAmt;
    }

    public String getGopayOrderId() {
        return gopayOrderId;
    }

    public void setGopayOrderId(String gopayOrderId) {
        this.gopayOrderId = gopayOrderId;
    }

    public DepositFundSettleOpType getOpType() {
        return opType;
    }

    public void setOpType(DepositFundSettleOpType opType) {
        this.opType = opType;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public DecisionValue getDecision() {
        return decision;
    }

    public void setDecision(DecisionValue decision) {
        this.decision = decision;
    }

    public String getDecisionMsg() {
        return decisionMsg;
    }

    public void setDecisionMsg(String decisionMsg) {
        this.decisionMsg = decisionMsg;
    }

    public String getPayCustId() {
        return payCustId;
    }

    public void setPayCustId(String payCustId) {
        this.payCustId = payCustId;
    }

    public String getClientIp() {
        return clientIp;
    }

    public void setClientIp(String clientIp) {
        this.clientIp = clientIp;
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public int getResultCode() {
        return resultCode;
    }

    public void setResultCode(int resultCode) {
        this.resultCode = resultCode;
    }

    public String getResultMsg() {
        return resultMsg;
    }

    public void setResultMsg(String resultMsg) {
        this.resultMsg = resultMsg;
    }

    public boolean isOffPay() {
        return isOffPay;
    }

    public void setOffPay(boolean offPay) {
        isOffPay = offPay;
    }

    public String getOffLineBankCode() {
        return offLineBankCode;
    }

    public void setOffLineBankCode(String offLineBankCode) {
        this.offLineBankCode = offLineBankCode;
    }

    public String getOffLineBankOrderNum() {
        return offLineBankOrderNum;
    }

    public void setOffLineBankOrderNum(String offLineBankOrderNum) {
        this.offLineBankOrderNum = offLineBankOrderNum;
    }

}
